/** 
Copyright (c) 2010, Sheikh Abdul Wahid Ahmed
Details @ http://extremecodeworld.codeplex.com/license
**/

using System;
using EXtremecode.Utils;

using System.Data;

using System.Collections;
namespace EXtremecode.DataAccessLayer
{
	/// <summary>
	/// Summary description for Empty.
	/// </summary>
	
		
	public class EmptyConnection:IDbConnection		 
	{
		
	
		#region IDbConnection Members

		public void ChangeDatabase(string databaseName)
		{
		}

		public IDbTransaction BeginTransaction(IsolationLevel il)
		{
			return null;
		}

		IDbTransaction System.Data.IDbConnection.BeginTransaction()
		{
			return null;
		}

		public ConnectionState State
		{
			get
			{
				return new ConnectionState ();
			}
		}

		public string ConnectionString
		{
			get
			{
				return null;
			}
			set
			{
			}
		}

		public IDbCommand CreateCommand()
		{
			return null;
		}

		public void Open()
		{
		}

		public void Close()
		{
		}

		public string Database
		{
			get
			{
				return null;
			}
		}

		public int ConnectionTimeout
		{
			get
			{
				return 0;
			}
		}

		#endregion

		#region IDisposable Members

		public void Dispose()
		{
		}

		#endregion
	}
	public class EmptyDataReader:IDataReader
	{
	
		#region IDataReader Members

		public int RecordsAffected
		{
			get
			{
				// TODO:  Add EmptyDataReader.RecordsAffected getter implementation
				return 0;
			}
		}

		public bool IsClosed
		{
			get
			{
				// TODO:  Add EmptyDataReader.IsClosed getter implementation
				return false;
			}
		}

		public bool NextResult()
		{
			// TODO:  Add EmptyDataReader.NextResult implementation
			return false;
		}

		public void Close()
		{
			// TODO:  Add EmptyDataReader.Close implementation
		}

		public bool Read()
		{
			// TODO:  Add EmptyDataReader.Read implementation
			return false;
		}

		public int Depth
		{
			get
			{
				// TODO:  Add EmptyDataReader.Depth getter implementation
				return 0;
			}
		}

		public DataTable GetSchemaTable()
		{
			// TODO:  Add EmptyDataReader.GetSchemaTable implementation
			return null;
		}

		#endregion

		#region IDisposable Members

		public void Dispose()
		{
			// TODO:  Add EmptyDataReader.Dispose implementation
		}

		#endregion

		#region IDataRecord Members

		public int GetInt32(int i)
		{
			// TODO:  Add EmptyDataReader.GetInt32 implementation
			return 0;
		}

		public object this[string name]
		{
			get
			{
				// TODO:  Add EmptyDataReader.this getter implementation
				return null;
			}
		}

		object System.Data.IDataRecord.this[int i]
		{
			get
			{
				// TODO:  Add EmptyDataReader.System.Data.IDataRecord.this getter implementation
				return null;
			}
		}

		public object GetValue(int i)
		{
			// TODO:  Add EmptyDataReader.GetValue implementation
			return null;
		}

		public bool IsDBNull(int i)
		{
			// TODO:  Add EmptyDataReader.IsDBNull implementation
			return false;
		}

		public long GetBytes(int i, long fieldOffset, byte[] buffer, int bufferoffset, int length)
		{
			// TODO:  Add EmptyDataReader.GetBytes implementation
			return 0;
		}

		public byte GetByte(int i)
		{
			// TODO:  Add EmptyDataReader.GetByte implementation
			return 0;
		}

		public Type GetFieldType(int i)
		{
			// TODO:  Add EmptyDataReader.GetFieldType implementation
			return null;
		}

		public decimal GetDecimal(int i)
		{
			// TODO:  Add EmptyDataReader.GetDecimal implementation
			return 0;
		}

		public int GetValues(object[] values)
		{
			// TODO:  Add EmptyDataReader.GetValues implementation
			return 0;
		}

		public string GetName(int i)
		{
			// TODO:  Add EmptyDataReader.GetName implementation
			return null;
		}

		public int FieldCount
		{
			get
			{
				// TODO:  Add EmptyDataReader.FieldCount getter implementation
				return 0;
			}
		}

		public long GetInt64(int i)
		{
			// TODO:  Add EmptyDataReader.GetInt64 implementation
			return 0;
		}

		public double GetDouble(int i)
		{
			// TODO:  Add EmptyDataReader.GetDouble implementation
			return 0;
		}

		public bool GetBoolean(int i)
		{
			// TODO:  Add EmptyDataReader.GetBoolean implementation
			return false;
		}

		public Guid GetGuid(int i)
		{
			// TODO:  Add EmptyDataReader.GetGuid implementation
			return new Guid ();
		}

		public DateTime GetDateTime(int i)
		{
			// TODO:  Add EmptyDataReader.GetDateTime implementation
			return new DateTime ();
		}

		public int GetOrdinal(string name)
		{
			// TODO:  Add EmptyDataReader.GetOrdinal implementation
			return 0;
		}

		public string GetDataTypeName(int i)
		{
			// TODO:  Add EmptyDataReader.GetDataTypeName implementation
			return null;
		}

		public float GetFloat(int i)
		{
			// TODO:  Add EmptyDataReader.GetFloat implementation
			return 0;
		}

		public IDataReader GetData(int i)
		{
			// TODO:  Add EmptyDataReader.GetData implementation
			return null;
		}

		public long GetChars(int i, long fieldoffset, char[] buffer, int bufferoffset, int length)
		{
			// TODO:  Add EmptyDataReader.GetChars implementation
			return 0;
		}

		public string GetString(int i)
		{
			// TODO:  Add EmptyDataReader.GetString implementation
			return null;
		}

		public char GetChar(int i)
		{
			// TODO:  Add EmptyDataReader.GetChar implementation
			return '\0';
		}

		public short GetInt16(int i)
		{
			// TODO:  Add EmptyDataReader.GetInt16 implementation
			return 0;
		}

		#endregion
	}
	public class EmptyCommand:IDbCommand
	{
	
		private IDataParameterCollection paramCollection=new EmptyParameterCollection();
		#region IDbCommand Members

		public void Cancel()
		{
		}

		public void Prepare()
		{
		}

		public CommandType CommandType
		{
			get
			{
				return new CommandType ();
			}
			set
			{
			}
		}

		public IDataReader ExecuteReader(CommandBehavior behavior)
		{
			return null;
		}

		IDataReader System.Data.IDbCommand.ExecuteReader()
		{
			return null;
		}

		public object ExecuteScalar()
		{
			return null;
		}

		public int ExecuteNonQuery()
		{
			return 0;
		}

		public int CommandTimeout
		{
			get
			{
				return 0;
			}
			set
			{
			}
		}

		public IDbDataParameter CreateParameter()
		{
			return null;
		}

		public IDbConnection Connection
		{
			get
			{
				return null;
			}
			set
			{
			}
		}

		public UpdateRowSource UpdatedRowSource
		{
			get
			{
				return new UpdateRowSource ();
			}
			set
			{
			}
		}

		public string CommandText
		{
			get
			{
				return "";
			}
			set
			{
			}
		}

		public IDataParameterCollection Parameters
		{
			get
			{
				return paramCollection;
			}
		}

		public IDbTransaction Transaction
		{
			get
			{
				return null;
			}
			set
			{
			}
		}

		#endregion

		#region IDisposable Members

		public void Dispose()
		{
		}

		#endregion
	}
	public class EmptyParameter:IDataParameter
	{
	
		#region IDataParameter Members

		public ParameterDirection Direction
		{
			get
			{
				return new ParameterDirection ();
			}
			set
			{
			}
		}

		public DbType DbType
		{
			get
			{
				return new DbType ();
			}
			set
			{
			}
		}

		public object Value
		{
			get
			{
				return null;
			}
			set
			{
			}
		}

		public bool IsNullable
		{
			get
			{
				return false;
			}
		}

		public DataRowVersion SourceVersion
		{
			get
			{
				return new DataRowVersion ();
			}
			set
			{
			}
		}

		public string ParameterName
		{
			get
			{
				return "";
			}
			set
			{
			}
		}

		public string SourceColumn
		{
			get
			{
				return "";
			}
			set
			{
			}
		}

		#endregion
	}
	public class EmptyParameterCollection:IDataParameterCollection,IEnumerator 
	{
	
		#region IDataParameterCollection Members

		public object this[string parameterName]
		{
			get
			{
				return null;
			}
			set
			{
			}
		}

		public void RemoveAt(string parameterName)
		{
		}

		public bool Contains(string parameterName)
		{
			return false;
		}

		public int IndexOf(string parameterName)
		{
			return 0;
		}

		#endregion

		#region IList Members

		public bool IsReadOnly
		{
			get
			{
				return false;
			}
		}

		object System.Collections.IList.this[int index]
		{
			get
			{
				return null;
			}
			set
			{
			}
		}

		void System.Collections.IList.RemoveAt(int index)
		{
		}

		public void Insert(int index, object value)
		{
		}

		public void Remove(object value)
		{
		}

		bool System.Collections.IList.Contains(object value)
		{
			return false;
		}

		public void Clear()
		{
		}

		int System.Collections.IList.IndexOf(object value)
		{
			return 0;
		}

		public int Add(object value)
		{
			return 0;
		}

		public bool IsFixedSize
		{
			get
			{
				return false;
			}
		}

		#endregion

		#region ICollection Members

		public bool IsSynchronized
		{
			get
			{
				return false;
			}
		}

		public int Count
		{
			get
			{
				return 0;
			}
		}

		public void CopyTo(Array array, int index)
		{
		}

		public object SyncRoot
		{
			get
			{
				return null;
			}
		}

		#endregion

		#region IEnumerable Members

		public System.Collections.IEnumerator GetEnumerator()
		{
			return this;
		}

		#endregion
	
		#region IEnumerator Members

		public void Reset()
		{
			// TODO:  Add EmptyParameterCollection.Reset implementation
		}

		public object Current
		{
			get
			{
				// TODO:  Add EmptyParameterCollection.Current getter implementation
				return null;
			}
		}

		public bool MoveNext()
		{
			// TODO:  Add EmptyParameterCollection.MoveNext implementation
			return false;
		}

		#endregion
	}
	public class EmptyDataAdapter:IDbDataAdapter
	{
		private IDbCommand command=new EmptyCommand();	
		#region IDbDataAdapter Members

		public IDbCommand UpdateCommand
		{
			get
			{
				return command;
			}
			set
			{
			}
		}

		public IDbCommand SelectCommand
		{
			get
			{
				return command;
			}
			set
			{
			}
		}

		public IDbCommand DeleteCommand
		{
			get
			{
				return command;
			}
			set
			{
			}
		}

		public IDbCommand InsertCommand
		{
			get
			{
				return command;
			}
			set
			{
			}
		}

		#endregion

		#region IDataAdapter Members

		public int Fill(DataSet dataSet)
		{
			return 0;
		}

		public ITableMappingCollection TableMappings
		{
			get
			{
				return null;
			}
		}

		public MissingSchemaAction MissingSchemaAction
		{
			get
			{
				return new MissingSchemaAction ();
			}
			set
			{
			}
		}

		public MissingMappingAction MissingMappingAction
		{
			get
			{
				return new MissingMappingAction ();
			}
			set
			{
			}
		}

		public IDataParameter[] GetFillParameters()
		{
			return null;
		}

		public DataTable[] FillSchema(DataSet dataSet, SchemaType schemaType)
		{
			return null;
		}

		public int Update(DataSet dataSet)
		{
			return 0;
		}

		#endregion
	}
	
		

}
